home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / sbin / grub-terminfo < prev    next >
Text File  |  2006-03-30  |  2KB  |  96 lines

  1. #! /bin/sh
  2. # Generate a terminfo command from a terminfo name.
  3. #
  4. # Copyright (C) 2002  Free Software Foundation, Inc.
  5. #
  6. # This file is free software; you can redistribute it and/or modify it
  7. # under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14. # General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  19.  
  20. VERSION=0.96
  21.  
  22. usage () {
  23.     cat <<EOF
  24. Usage: grub-terminfo TERMNAME
  25. Generate a terminfo command from a terminfo name.
  26.  
  27.   -h, --help              print this message and exit
  28.   -v, --version           print the version information and exit
  29.  
  30. Report bugs to <bug-grub@gnu.org>.
  31. EOF
  32. }
  33.  
  34. error () {
  35.     echo "grub-terminfo: error: $1" 1>&2
  36. }
  37.  
  38. termname=
  39.  
  40. for option in "$@"; do
  41.     case "$option" in
  42.     -h | --help)
  43.         usage
  44.     exit 0 ;;
  45.     -v | --version)
  46.     echo "grub-terminfo (GNU GRUB ${VERSION})"
  47.     exit 0 ;;
  48.     -*)
  49.     error "Unrecognized option \`$option'"
  50.     usage
  51.     exit 1 ;;
  52.     *)
  53.     if test "x$termname" != x; then
  54.         error "More than one terminfo names?"
  55.         usage
  56.         exit 1
  57.     fi
  58.     termname="$option" ;;
  59.     esac
  60. done
  61.  
  62. if test "x$termname" = x; then
  63.     error "termname not specified"
  64.     usage
  65.     exit 1
  66. fi
  67.  
  68. get_seq () {
  69.     infocmp -L -1 -g $termname | sed -n -e "/$1/s/^[^=]*=\\(.*\\),\$/\\1/p"
  70. }
  71.  
  72. cursor_address="`get_seq cursor_address`"
  73. if test "x$cursor_address" = x; then
  74.     error "cursor_address not found"
  75.     exit 1
  76. fi
  77. cursor_address="--cursor-address=$cursor_address"
  78.  
  79. clear_screen="`get_seq clear_screen`"
  80. if test "x$clear_screen" != x; then
  81.     clear_screen="--clear-screen=$clear_screen"
  82. fi
  83.  
  84. enter_standout_mode="`get_seq enter_standout_mode`"
  85. if test "x$enter_standout_mode" != x; then
  86.     enter_standout_mode="--enter-standout-mode=$enter_standout_mode"
  87. fi
  88.  
  89. exit_standout_mode="`get_seq exit_standout_mode`"
  90. if test "x$exit_standout_mode" != x; then
  91.     exit_standout_mode="--exit-standout-mode=$exit_standout_mode"
  92. fi
  93.  
  94. echo "terminfo --name=$termname" $cursor_address $clear_screen \
  95.     $enter_standout_mode $exit_standout_mode
  96.